Skip to content

Conversation

@nasahlpa
Copy link
Member

This PR adds experimental support for the Synopsys VC Z01X fault injection simulator.

Similar to VCS, Z01X first simulates the chosen design. This is then the golden model which acts as a reference. Afterwards, Z01X starts injecting faults depending on the constraints. The constraints define where, which fault is injected (flop or ports, transient or stuck-at faults, at which clock cycle). The strobing file enables the user to specify what is classified as an effective fault, ineffective, or detected fault. During the fault campaign, the golden model is compared to the faulty model depending on the constraints and the strobing file.

This PR enables experimental FI evaluation support for the flash controller. Tested with VCS X-2025.06-SP1-1, the following command runs the FI experiment:

./util/dvsim/dvsim.py hw/top_earlgrey/ip_autogen/flash_ctrl/dv/flash_ctrl_fi_sim_cfg.hjson -i flash_ctrl_basic_rw -t z01x --reseed-multiplier 0.0001 --fixed-seed 1

dvsim already enables running commands after executing the
`build` command with the option `post_build_cmds`.

However, until now, it was not possible to pass options to this
post build command.

Signed-off-by: Pascal Nasahl <[email protected]>
This adds support to dvsim for the fault injection tool from Synopsys
called VC-Z01X.

Signed-off-by: Pascal Nasahl <[email protected]>
This commit adds the FI sim configuration files needed to run VC-Z01X on the
flash controller.

Signed-off-by: Pascal Nasahl <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant